
const net = require('net')
const fs = require('fs')

const server = net.createServer()

server.on('connection', socket => {
    console.log(socket.remotePort, socket.remoteAddress) // 获取连接端的端口 和 ip地址
    console.log(`${socket.remoteAddress}连接了服务器`)

    try {

        // let imgData = fs.readFileSync('./server/delete.png')   文件内容小可直接保存
        let imgData = fs.readFileSync('./server/index.jpg')   // 文件内容大 则需要数据报分批接受文件内容

        socket.write(imgData) // 向当前连接的客户端写入一张图片
        socket.end() // 结束写入的数据

    } catch (err) {
        console.log(err)
    }

    // 客户端关闭连接执行的事件
    socket.on('close', () => {
        console.log(`${socket.remoteAddress}断开了连接`)
    })

    // 如果客户端异常退出,这里需要进行捕获，不然服务器也会异常终止
    socket.on('error', err => {
        console.log(err)
    })
})

// 服务器错误捕获
server.on('error', err => {
    console.log(err)
})

// 服务器监听地址 端口：12345  ip:0.0.0.0通配
server.listen(12345, '0.0.0.0')